package com.cheng.example.book.advise151.chap5;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * 使用shuffle打乱列表
 */
public class Client77 {
    /**
     * 第一种方式
     * @param args
     */
//    public static void main(String[] args) {
//        int tagCloudNum = 10;
//        List<String> tagClouds = new ArrayList<String>(tagCloudNum);
//        // 初始化标签云，一般是从数据库读入，省略
//        Random rand = new Random();
//        for (int i = 0; i < tagCloudNum; i++) {
//            // 取得随机位置
//            int randomPosition = rand.nextInt(tagCloudNum);
//            // 当前元素与随机元素交换
//            String temp = tagClouds.get(i);
//            tagClouds.set(i, tagClouds.get(randomPosition));
//            tagClouds.set(randomPosition, temp);
//        }
//    }


//    /**
//     * 第二种方式
//     * @param args
//     */
//    public static void main(String[] args) {
//        int tagCloudNum = 10;
//        List<String> tagClouds = new ArrayList<String>(tagCloudNum);
//        // 初始化标签云，一般是从数据库读入，省略
//        Random rand = new Random();
//        for (int i = 0; i < tagCloudNum; i++) {
//            // 取得随机位置
//            int randomPosition = rand.nextInt(tagCloudNum);
//            // 当前元素与随机元素交换(这个方法不错啊)
//            Collections.swap(tagClouds, i, randomPosition);
//        }
//    }


    /**
     * 第三种方式
     * @param args
     */
    public static void main(String[] args) {
        int tagCloudNum = 10;
        List<String> tagClouds = new ArrayList<String>(tagCloudNum);
        // 初始化标签云，一般是从数据库读入，省略
        //打乱顺序
        Collections.shuffle(tagClouds);
    }


}
